Memory include redundant memory in order to “repair” memory locations deemed to be defective (e.g., failing). As used herein, the phrase “defective memory location” is used to refer to a memory location deemed to be defective, regardless of whether it actually is defective. Typically, memory addresses corresponding to defective memory locations are mapped to redundant memory so that when the defective memory locations are to be accessed (e.g., read or write data), the redundant memory to which the memory addresses are mapped are actually accessed instead. Programmable elements, such as fuse banks comprised of individual programmable elements (e.g., fuses, antifuses, flash cells, phase change cells, and the like) and associated redundant memory are used to program the memory addresses so that when access to a programmed memory address is requested, access is made to the associated (e.g., corresponding) redundant memory instead of the defective memory locations.
One example of repairing defective memory locations is through the use of a memory tester. The memory tester tests a memory under test to determine if there are any defective memory locations by writing data to the memory, and reading back the data from the memory. The data read is compared to the data that was written to determine if the memory accurately stored the written data. Memory locations that return read data different than the write data are deemed defective and the corresponding memory addresses are stored. After identifying the defective memory locations of the memory, the memory tester analyzes the memory addresses for the defective memory locations and resolves a redundancy solution to map the memory addresses of the defective memory locations to redundant memory. If there is insufficient redundant memory to repair all of the defective memory locations, the memory cannot be repaired.
Another example of repairing defective memory locations is through the use of self-testing and repair. Circuitry is included in the memory device to perform memory testing to determine defective memory locations and effect repair by remapping the memory addresses of the defective memory locations to redundant memory. The process of memory testing and repair is performed internally by the memory.
Memory testing and repair is typically performed by the manufacturer before the memory is provided to customers. In some cases, however, a customer may subject the memory to further assembly that may affect performance of the memory, including basic memory functionality. As a result, the memory is tested again after the customer's assembly process is completed by using a memory tester. The memory tester, however, typically does not include an analysis engine for resolving a redundancy solution to repair any defective memory locations identified by the memory testing. Moreover, calculating a solution often requires proprietary information that is available only to the manufacturer. Without the ability to repair defective memory locations of a memory already assembled by the customer, the memory must be disassembled and replaced, or the entire assembly discarded. Both solutions, however, are very undesirable because of the likelihood of damaging the assembly during the memory removal and replacement process as well as wastage of parts if the entire assembly is discarded.